home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / newsgrp / group01a.txt / 000018_icon-group-sender _Wed May 17 16:25:44 2000.msg < prev    next >
Internet Message Format  |  2002-01-03  |  4KB

  1. Return-Path: <icon-group-sender>
  2. Received: (from root@localhost)
  3.     by baskerville.CS.Arizona.EDU (8.9.1a/8.9.1) id QAA19236
  4.     for icon-group-addresses; Wed, 17 May 2000 16:25:36 -0700 (MST)
  5. Message-Id: <200005172325.QAA19236@baskerville.CS.Arizona.EDU>
  6. From: "Ian Trudel" <ian.trudel@tr.cgocable.ca>
  7. To: "icon-group" <icon-group@optima.CS.Arizona.EDU>
  8. Subject: Re: Is Anyone Working On A Unicode Version Of Icon?
  9. Date: Wed, 17 May 2000 17:29:12 -0400
  10. X-Priority: 3
  11. X-MSMail-Priority: Normal
  12. X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600
  13. Errors-To: icon-group-errors@optima.CS.Arizona.EDU
  14. Status: RO
  15. Content-Length: 2812
  16.  
  17. Thanks for the enlightement, I was not aware of this. "The Implementation Of
  18. The Icon Programming Language" book says:
  19.  
  20. "The first implementation of Icon (Griswold and Hanson 1979) was written in
  21. RatFor, a preprocessor for Fortran that supports structured programming
  22. features (Kernighan 1975).", p.6.
  23.  
  24. regards,
  25. Ian Trudel, aka BackOrder
  26. StarTrip Server Administrator
  27. http://startrip.gene6.com/
  28.  
  29. ----- Original Message -----
  30. From: "Cary Coutant" <cary@cup.hp.com>
  31. To: "Steve Wampler" <swampler@noao.edu>; "icon-group"
  32. <icon-group@optima.CS.Arizona.EDU>
  33. Sent: Wednesday, May 17, 2000 1:49 PM
  34. Subject: Re: Is Anyone Working On A Unicode Version Of Icon?
  35.  
  36.  
  37. > >Just for historical accuracy...
  38. > >
  39. > >1979 is the first C implemenation of Icon (done by Cary Coutant and me) -
  40. > >the first implementation of Icon (an amazing beast written in FORTRAN
  41. that
  42. > >producing FORTRAN (really RatFor) executables) was several years old by
  43. > >that time.  Also, the C implementation was done on a PDP 11/70, with
  44. > >its 64K address space - so some of the implementation decisions were
  45. driven
  46. > >by considerations that are no longer relevant!
  47. > >
  48. > >Cary produced a compiler for Icon at the same time, but there was
  49. > >surprisingly
  50. > >little improvement over the interpreter because Icon spends most of its
  51. time
  52. > >in the run-time system, which is already compiled code.  It wasn't until
  53. > >later
  54. > >that Ken Walker's work produced a more efficient optimizing compiler.
  55. >
  56. > To clarify a bit more, the first implementation we did in 1979 was sort
  57. > of a compiler. The icon translator still generated the "u-code" -- our
  58. > intermediate representation -- and the icon linker then generated a
  59. > single, large, PDP-11 assembly-language source file. This file was then
  60. > assembled and linked against the large Icon runtime library to produce a
  61. > native executable. The assembly code was really little more than calls to
  62. > the runtime system, and was a very straightforward and simple translation
  63. > of the Icon intermediate code.
  64. >
  65. > The problem with this approach was that the runtime library was so huge
  66. > that link times were large even for a simple "hello, world" program.
  67. >
  68. > Around 1981, I think, I spent a week modifying the Icon linker to produce
  69. > the Icon byte code instead of PDP-11 assembly language, and then built a
  70. > small interpreter, linked to the runtime system. Now, the Icon linker
  71. > needed only to produce a small bytecode file that could be read and
  72. > interpreted by "iconx." The result was greatly improved compile and link
  73. > times, very little runtime performance difference, and -- finally --
  74. > easier portability to other Unix machines.
  75. >
  76. > At the time, I was just copying the idea of a bytecode interpreter from
  77. > the Pascal p-system. Little did I realize that Sun had yet to "invent"
  78. > bytecode!
  79. >
  80. > -cary
  81. >
  82.  
  83.